﻿using System;
using System.Collections.Generic;
using NOSDC.Pocos;

namespace NOSDC.Services
{
    public interface IEventService
    {
        IEnumerable<Events> GetAllEvents();
        Events GetUpcomingEvent();
        Events GetUpcomingEventWidget();
        bool CreateEvent(Events e);
        bool CreateEvent(Events e, List<int> sponsorsids, List<int> speakerids);
        bool UpdateEvent(Events e);
        bool UpdateEvent(Events e, List<int> sponsorids, List<int> speakerids);
        Events GetEventByID(int id);
        bool AttendEvent(Guid userid, int eventId);
        bool IsAttendingEvent(int eventID, Guid userID);
        IList<EventAttendee> GetAttendees(int eventId);
        IList<FinalEventAttendee> GetFinalAttendees(int eventId);
        IEnumerable<Events> GetPreviousEvents(int previousEvents);
        void RemindMembersOfEvent(int eventId);
        void FinalizeEvent(IList<FinalEventAttendee> attendees, int eventId);
        IList<Events> GetEventsByPage(int page, int pageSize);
        int GetTotalEvents();
        IEnumerable<Events> GetAllUpcomingEvents();
    }
}
